package com.ys.enume.base;

public class TbFileInfoEnum {
	
	public enum SourceType {
		TP_Boutique("精品库", 1, "TP_Boutique"),
		TP_BoutiqueSiteDetail("精品库站点详情", 2, "TP_BoutiqueSiteDetail"),
		THR_UserArchives_GraduationCertificate("员工档案-毕业证书", 3, "THR_UserArchives"),
		THR_UserArchives_EducationCertificate("员工档案-学历证书", 4, "THR_UserArchives"),
		THR_UserArchives_LaborContract("员工档案-劳动合同", 5, "THR_UserArchives"),
		THR_UserArchives_OtherFile("员工档案-其他附件", 6, "THR_UserArchives"),
		THR_OperateRegistrationItem("运营人员登记子表", 7, "THR_OperateRegistrationItem"),
		THR_UserEntryApply_GraduationCertificate("入职申请-毕业证书", 8, "THR_UserEntryApply"),
		THR_UserEntryApply_EducationCertificate("入职申请-学历证书", 9, "THR_UserEntryApply"),
		THR_UserEntryApply_LaborContract("入职申请-劳动合同", 10, "THR_UserEntryApply"),
		THR_UserEntryApply_OtherFile("入职申请-其他附件", 11, "THR_UserEntryApply"),

		MAIL_Draft("邮件系统-草稿箱", 12, "MAIL_Draft"),
		MAIL_Main("邮件系统详情", 13, "MAIL_Main"),

		THR_OperateCompanyBeian_Businesslicense("运营公司备案表-营业执照", 14, "THR_OperateCompanyBeian"),
		THR_OperateCompanyBeian_CooperateAgreement("运营公司备案表-合作协议", 15, "THR_OperateCompanyBeian"),
		THR_OperateCompanyBeian_OtherFile("运营公司备案表-其他附件", 16, "THR_OperateCompanyBeian"),

		THR_OperateCompanyApply_Businesslicense("运营公司管理表-营业执照", 17, "THR_OperateCompanyApply"),
		THR_OperateCompanyApply_CooperateAgreement("运营公司管理表-合作协议", 18, "THR_OperateCompanyApply"),
		THR_OperateCompanyApply_OtherFile("运营公司管理表-其他附件", 19, "THR_OperateCompanyApply"),

		THR_OperateCompanyBrand_OtherFile("运营公司表品牌信息-其他附件", 20, "THR_OperateCompanyBrand"),
		THR_OperateCompanyEuropeTrade_OtherFile("运营公司表欧洲贸易合规-其他附件", 21, "THR_OperateCompanyEuropeTrade"),

		THR_CanvassApply_Businesslicense("招商信息申请-营业执照", 22, "THR_CanvassApply"),
		THR_CanvassApply_CooperateAgreement("招商信息申请-合作协议", 23, "THR_CanvassApply"),

		TCW_AdvanceAccountDetail_AnnexFile("预支台账明细-附件", 24, "TCW_AdvanceAccountDetail"),
		TCW_NeedPayLedgerDetail_AnnexFile("应付台账明细-附件", 25, "TCW_NeedPayLedgerDetail"),
		TCW_NeedPayAccountPay_AnnexFile("应付账户支付-附件", 26, "TCW_NeedPayAccountPay"),
		THR_TransparencyProgram_AnnexFile("透明计划申报-附件", 27, "THR_TransparencyProgramItem"),
		TCW_CapitalBusinessCost_AnnexFile("运营费用认领单-附件", 28, "TCW_CapitalBusinessCost"),
		TCW_CapitalClaimSon_AnnexFile("资金认领单-附件", 29, "TCW_CapitalClaimSon"),
		THR_VatApplyDetail_ApplyFile("VAT申报单-申报材料", 31, "THR_VatApplyDetail"),
		THR_VatApplyDetail_ApplyReply("VAT申报单-申报回执", 32, "THR_VatApplyDetail"),
		TCW_RoleCostApplyItem_AnnexFile("职能费用申请-附件", 33, "TCW_RoleCostApplyItem"),
		TCW_PaymentApplyItem_AnnexFile("付款申请单-附件", 34, "TCW_PaymentApplyItem"),
		TCW_PaymentApplyItem_ReceiptAnnexFile("付款申请单-发票附件", 35, "TCW_PaymentApplyItem"),
		TOA_Notice("通告信息-附件", 36, "TOA_Notice"),
		TCW_ElectronicInvoice("运营电子发票-附件", 37, "TCW_ElectronicInvoice"),
		TCW_WanliOtherPayment("万里汇外币付款单-附件", 38, "TCW_WanliOtherPayment"),
		TCG_PurchaseContract("采购合同单-合同附件", 39, "TCG_PurchaseContract"),
		TCG_InvoiceRegist("发票登记单-附件", 40, "TCG_InvoiceRegist"),
		TCW_EntryApply("入账申请单-附件", 41, "TCW_EntryApplyItem"),
		TCW_EntryApply_ReceiptAnnexFile("入账申请单-发票附件", 42, "TCW_EntryApplyItem"),
		TP_AmazonShopProduct_esAnnexFile("亚马逊商品-欧代标附件", 43, "TP_AmazonShopProduct"),
		TCW_PaymentReturn_AnnexFile("预付款退回申请单-附件", 44, "TCW_PaymentReturn"),
		TOS_ProductActive_AnnexFile("HW商品listing库-附件", 45, "TOS_ProductActive"),
		TCC_LogisticsSadFile_AnnexFile("C88文件-附件", 46, "TCC_LogisticsSadFile"),
		TCC_LogisticsServiceProviderItem_Contract("物流服务商子表-营业执照附件", 47, "TCC_LogisticsServiceProviderItem"),


		;


		public String name;
		public Integer value;
		public String tableName; // 数据库表名

		private SourceType(String name, Integer value, String tableName) {
			this.name = name;
			this.value = value;
			this.tableName = tableName;
		}
		
		public static boolean checkIn(Integer value) {
			if (value == null) {
				return false;
			} else {
				for (SourceType e : SourceType.values()) {
					if (value == e.value) {
						return true;
					}
				}
			}
			return false;
		}

		public static String getTableName(int value) {
			for (SourceType e : SourceType.values()) {
				if (e.value == value) {
					return e.tableName;
				}
			}

			return "";
		}
	}
}
